package org.lanqiao.tjut.service;

import java.util.List;

import org.lanqiao.tjut.bean.AdminBean;
import org.lanqiao.tjut.bean.StudentBean;
import org.lanqiao.tjut.bean.TeacherBean;
import org.lanqiao.tjut.dao.DaoFactory;

public class UserInfoManagerSerice {

	/**
	 * 保存教师信息
	 * 
	 * @param teaBean
	 *            教师信息对象
	 * @return 保存结果记录行数
	 */
	public int saveTeaInfo(TeacherBean teaBean) {
		int re_i = 0;
		re_i = DaoFactory.getUserInfoManagerDaoInstance().savaTeaInfo(teaBean);
		return re_i;
	}

	/**
	 * 保存学生信息
	 * 
	 * @param stuBean
	 *            学生信息对象
	 * @return 保存结果记录行数
	 */
	public int saveStuInfo(StudentBean stuBean) {
		int re_i = 0;
		re_i = DaoFactory.getUserInfoManagerDaoInstance().savaStuInfo(stuBean);
		return re_i;
	}

	/**
	 * 保存管理员信息
	 * 
	 * @param adminBean
	 *            管理员信息对象
	 * @return 保存结果记录行数
	 */
	public int saveAdminInfo(AdminBean adminBean) {
		int re_i = 0;
		re_i = DaoFactory.getUserInfoManagerDaoInstance().savaAdminInfo(adminBean);
		return re_i;
	}

	/**
	 * 查询所有教师数据信息
	 * 
	 * @return 所有教师数据信息集合
	 */
	public List<TeacherBean> getAllTeaInfo() {
		List<TeacherBean> lstuser = DaoFactory.getUserInfoManagerDaoInstance().getAllTeaInfo();
		return lstuser;
	}

	/**
	 * 查询所有学生数据信息
	 * 
	 * @return 所有学生数据信息集合
	 */
	public List<StudentBean> getAllStuInfo() {
		List<StudentBean> lstuser = DaoFactory.getUserInfoManagerDaoInstance().getAllStuInfo();
		return lstuser;
	}

	/**
	 * 查询所有管理员数据信息
	 * 
	 * @return 所有管理员数据信息集合
	 */
	public List<AdminBean> getAllAdminInfo() {
		List<AdminBean> lstuser = DaoFactory.getUserInfoManagerDaoInstance().getAllAdminInfo();
		return lstuser;
	}

	/**
	 * 根据教师名获取教师信息
	 * 
	 * @param tea
	 *            教师对象
	 * @return 该教师信息集合
	 */
	public List<TeacherBean> getQueryTeaInfoByName(TeacherBean tea) {

		return DaoFactory.getUserInfoManagerDaoInstance().getQueryTeaInfoByName(tea);
	}

	/**
	 * 根据学生名获取学生信息
	 * 
	 * @param tea
	 *            学生对象
	 * @return 该教师信息集合
	 */
	public List<StudentBean> getQueryStuInfoByName(StudentBean stu) {

		return DaoFactory.getUserInfoManagerDaoInstance().getQueryStuInfoByName(stu);
	}

	/**
	 * 查询教师数据信息(模糊查询)
	 * 
	 * @param tea
	 *            教师信息对象
	 * @return 查询的用户信息
	 */
	public List<TeacherBean> getQueryTeaInfo(TeacherBean tea) {

		return DaoFactory.getUserInfoManagerDaoInstance().getQueryTeaInfo(tea);
	}

	/**
	 * 查询学生数据信息(模糊查询)
	 * 
	 * @param stu
	 *            学生信息对象
	 * @return 查询的学生信息
	 */
	public List<StudentBean> getQueryStuInfo(StudentBean stu) {

		return DaoFactory.getUserInfoManagerDaoInstance().getQueryStuInfo(stu);
	}

	/**
	 * 查询管理员数据信息(模糊查询)
	 * 
	 * @param admin
	 *            管理员信息对象
	 * @return 查询的管理员信息
	 */
	public List<AdminBean> getQueryAdminInfo(AdminBean admin) {

		return DaoFactory.getUserInfoManagerDaoInstance().getQueryAdminInfo(admin);
	}

	/**
	 * 根据用户id删除该用户信息
	 * 
	 * @param userId
	 *            用户id
	 * @return 修改记录的行数
	 */
	public int deleteUserInfo(int userId) {

		return DaoFactory.getUserInfoManagerDaoInstance().deleteUserInfo(userId);
	}

	/**
	 * 根据教师id删除该用户信息
	 * 
	 * @param userId
	 *            教师id
	 * @return 修改记录的行数
	 */
	public int deleteTeaInfo(int userId) {

		return DaoFactory.getUserInfoManagerDaoInstance().deleteTeaInfo(userId);
	}

	/**
	 * 根据学生id删除该用户信息
	 * 
	 * @param userId
	 *            学生id
	 * @return 修改记录的行数
	 */
	public int deleteStuInfo(int userId) {

		return DaoFactory.getUserInfoManagerDaoInstance().deleteStuInfo(userId);
	}

	/**
	 * 根据管理员id删除该用户信息
	 * 
	 * @param userId
	 *            管理员id
	 * @return 修改记录的行数
	 */
	public int deleteAdminInfo(int userId) {

		return DaoFactory.getUserInfoManagerDaoInstance().deleteAdminInfo(userId);
	}

	/**
	 * 通过教师id获取主键对象
	 * 
	 * @param strUid
	 *            教师id
	 * @return 对象
	 */
	public TeacherBean getTeaInfoById(String strUid) {

		return DaoFactory.getUserInfoManagerDaoInstance().getTeaInfoById(strUid);

	}

	/**
	 * 通过学生id获取主键对象
	 * 
	 * @param strUid
	 *            学生id
	 * @return 对象
	 */
	public StudentBean getStuInfoById(String strUid) {

		return DaoFactory.getUserInfoManagerDaoInstance().getStuInfoById(strUid);

	}

	/**
	 * 通过管理员id获取主键对象
	 * 
	 * @param strUid
	 *            管理员id
	 * @return 对象
	 */
	public AdminBean getAdminInfoById(String strUid) {

		return DaoFactory.getUserInfoManagerDaoInstance().getAdminInfoById(strUid);

	}
}
